home *** CD-ROM | disk | FTP | other *** search
/ 9-Digit Zip Code Directory / 9-Digit Zip Code Directory (American Business Information) (ABIZIP-12).ISO / z4src.zip / CLFNAME.HPP < prev    next >
C/C++ Source or Header  |  1993-09-02  |  5KB  |  196 lines

  1. //----------------------------------------------------------------------------
  2. //                            MODULE DESCRIPTION
  3. //
  4. //  Module:    clfname.hpp
  5. //   Title:    C++ Class Libraries
  6. //  Notice:    John M. Weeder
  7. //                 Copyright (c) 1993. All rights reserved.
  8. //             This module contains proprietary information and should be 
  9. //                treated as confidential.
  10. //
  11. //----------------------------------------------------------------------------
  12. //                           MAINTENANCE HISTORY
  13. //
  14. // $Workfile$
  15. // $Revision$
  16. //   $Author$
  17. //     $Date$
  18. //      $Log$    
  19. //
  20. //----------------------------------------------------------------------------
  21. //                             MODULE NARRATIVE
  22. //
  23. //    This module contains code for the class CL_FNAME.
  24. //
  25. //    The code in this module may be written in C++ or C.
  26. //
  27. //    This module is portable to:
  28. //        DOS 3.X+
  29. //        MS Windows 3.X+
  30. //        OS/2 2.X+
  31. //        OS/2 2.0 PM
  32. //
  33. //    The following compilers are supported:
  34. //        MSC 6.0A
  35. //        MSC/C++ 7.0
  36. //        Borland C++ 3.1 for DOS
  37. //        Borland C++ 1.0 for OS/2 2.X
  38. //
  39. //----------------------------------------------------------------------------
  40.  
  41.  
  42. //----------------------------------------------------------------------------
  43. //    Class CL_FNAME
  44. //----------------------------------------------------------------------------
  45. #define CL_FNAME_PARENT CL_STRING
  46. class CLASSTYPE CL_FNAME : public CL_FNAME_PARENT
  47. {
  48.     PVOID pv;
  49.  
  50. public:
  51.     FN_M CL_FNAME();
  52.     FN_MV CL_FNAME(PCSZ, ...);
  53.     FN_M CL_FNAME(RCCL_FNAME);
  54.     virtual FN_M ~CL_FNAME();
  55.  
  56.  
  57.     BOOL FN_M AppendExt(PCSZ pcszExt = NULL, BOOL fForce = FALSE)
  58.         {
  59.         return FnameAppendExt(pszBuf, pcszExt, fForce);
  60.         }
  61.     BOOL FN_M Copy(RCL_FNAME rcl_fname, FLAG16 fs = 0, PUSHORT pusAction = NULL)
  62.         {
  63.         return CopyFile((PCSZ)rcl_fname, pszBuf, fs, pusAction);
  64.         }
  65.     BOOL FN_M Crc(RCRC rcrc)
  66.         {
  67.         return CrcFile(pszBuf, &rcrc);
  68.         }
  69.     BOOL FN_M Delete()
  70.         {
  71.         return FnameDelete(pszBuf);
  72.         }
  73.     BOOL FN_M DeleteFileSpec()
  74.         {
  75.         return FnameDeleteFileSpec(pszBuf);
  76.         }
  77.     virtual BOOL FN_M Destroy(BOOL = TRUE);
  78.     BOOL FN_M Exists()
  79.         {
  80.         return FnameExists(pszBuf);
  81.         }
  82.     BOOL FN_M FindClose();
  83.     BOOL FN_M FindFirst(PBS_FINFO = NULL, USHORT = 0);
  84.     BOOL FN_M FindNext(PBS_FINFO = NULL);
  85.     BOOL FN_M FullPath()
  86.         {
  87.         return FnameFullPath(pszBuf);
  88.         }
  89.     BOOL FN_M Garble(PCSZ pcsz)
  90.         {
  91.         return GarbleFile(pszBuf, pcsz);
  92.         }
  93.     BOOL FN_M GetDrivePath(SHORT sDrive = 0)
  94.         {
  95.         return FnameGetDrivePath(pszBuf, sDrive);
  96.         }
  97.     BOOL FN_M GetInfo(RBS_FINFO rbs_finfo)
  98.         {
  99.         return FinfoGet(pszBuf, &rbs_finfo);
  100.         }
  101.     BOOL FN_M GetPath(SHORT sDrive = 0)
  102.         {
  103.         return FnameGetPath(pszBuf, sDrive);
  104.         }
  105.     virtual BOOL FN_M Initialize(SHORT = CL_INIT_ALL);
  106.     BOOL FN_M IsDirectory()
  107.         {
  108.         return FnameIsDirectory(pszBuf);
  109.         }
  110.     BOOL FN_M IsFile()
  111.         {
  112.         return FnameIsFile(pszBuf);
  113.         }
  114.     BOOL FN_M IsRoot()
  115.         {
  116.         return FnameIsRoot(pszBuf);
  117.         }
  118.     BOOL FN_M IsWriteable()
  119.         {
  120.         return FnameIsWriteable(pszBuf);
  121.         }
  122.     BOOL FN_M MakeDir()
  123.         {
  124.         return FnameMakeDir(pszBuf);
  125.         }
  126.     BOOL FN_M MakePath(PCSZ pszDrive = NULL, PCSZ pszDir = NULL,
  127.         PCSZ pszFname = NULL, PCSZ pszExt = NULL)
  128.         {
  129.         return FnameMakePath(pszBuf, pszDrive, pszDir, pszFname, pszExt);
  130.         }
  131.     BOOL FN_M Normalize(USHORT usMethod = 0)
  132.         {
  133.         return FnameNormalize(pszBuf, usMethod);
  134.         }
  135.     RCCL_FNAME FN_M operator=(RCCL_FNAME);
  136.     FN_M operator PSZ() const
  137.         {
  138.       return pszBuf;
  139.         }
  140.     FN_M operator PCSZ() const
  141.         {
  142.         return (PCSZ)pszBuf;
  143.         }
  144.     BOOL FN_M Print(FLAG16 fs = PRT_LPT1, PFNPRINT pfn = NULL, PCSZ pcszName = NULL)
  145.         {
  146.         return PrintFile(pszBuf, fs, pfn, (pcszName ? pcszName: pszBuf));
  147.         }
  148.     BOOL FN_M Qualify(PCSZ pszExt = NULL, PCSZ pszEnv = NULL, USHORT fs = 0)
  149.         {
  150.         return FnameQualify(pszBuf, pszExt, pszEnv, fs);
  151.         }
  152.     BOOL FN_M RemoveDir()
  153.         {
  154.         return FnameRemoveDir(pszBuf);
  155.         }
  156.     BOOL FN_M Rename(RCL_FNAME rcl_fname)
  157.         {
  158.         return FnameRename((PCSZ)rcl_fname, (PCSZ)pszBuf);
  159.         }
  160.     virtual BOOL FN_M Retrieve(PCSZ, PCSZ = NULL);
  161.     BOOL FN_M Separator(USHORT usMethod)
  162.         {
  163.         return FnameSeparator(pszBuf, usMethod);
  164.         }
  165.     BOOL FN_M SetInfo(RBS_FINFO rbs_finfo)
  166.         {
  167.         return FinfoSet(pszBuf, &rbs_finfo);
  168.         }
  169.     BOOL FN_M SetPath()
  170.         {
  171.         return FnameSetPath(pszBuf);
  172.         }
  173.     BOOL FN_M SplitPath(PSZ psz1 = NULL, PSZ psz2 = NULL, PSZ psz3 = NULL,
  174.         PSZ psz4 = NULL, PSZ psz5 = NULL)
  175.         {
  176.         return FnameSplitPath(pszBuf, psz1, psz2, psz3, psz4, psz5);
  177.         }
  178.     virtual BOOL FN_M Store(PCSZ, PCSZ = NULL);
  179.     BOOL FN_M TempFile(PCSZ pcszPat = NULL, PCSZ pcszExt = NULL, PCSZ pszDir = NULL)
  180.         {
  181.         return FnameTempFile(pszBuf, pcszPat, pcszExt, pszDir);
  182.         }
  183.     BOOL FN_M TempName(PCSZ pcszTemplate = NULL)
  184.         {
  185.         return FnameTempName(pszBuf, pcszTemplate) != NULL;
  186.         }
  187.  
  188. #if COMPILE_DEBUG
  189.     static VOID FN_M Print(PCCL_FNAME = NULL, PCSZ = NULL, SIZET = 0);
  190.     static BOOL FN_M Test(SHORT = 0);
  191. #endif
  192. };
  193. //----------------------------------------------------------------------------
  194. //------------------------------- End of File --------------------------------
  195. //----------------------------------------------------------------------------
  196.